package com.accp.demo.mapper.sale;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import com.accp.demo.pojo.sale.SaleOutStorage;



public interface ISaleOutStorageMapper {
	
	/**
	 * 新增销售出库单的记录
	 * @param map
	 */
	public void addSaleOutStorage(@Param("map") Map<String, Object> map);
	
	/**
	 * 新增销售出库单明细记录
	 * @param map
	 */
	public void addSaleOutStorageDetail(@Param("map") Map<String, Object> map);
	
	/**
	 * 删除销售出库单明细的记录
	 * @param map
	 */
	public void delSaleOutStorageDetail(@Param("map") Map<String, Object> map);
	
	/**
	 * 修改销售出库单的逻辑状态
	 */
	public void updLogicalState(@Param("map") Map<String, Object> map);
	
	/**
	 * 修改销售出库单的记录
	 */
	public void updSaleOutStorage(@Param("map") Map<String, Object> map);
	
	/**
	 * 修改销售出库单审核后等字段
	 */
	public void updSaleOutStorageExamineAfter(@Param("map") Map<String, Object> map);
	
	/**
	 * 获得销售出库单的总记录
	 * @return
	 */
	public Integer queryCount();
	
	/**
	 * 获取最后的单据号码
	 * @return
	 */
	public String getLastNo(@Param("map") Map<String, Object> map);
	
	/**
	 * 根据单据号码获得对象
	 * @param map
	 * @return
	 */
	public SaleOutStorage queryBy(@Param("map") Map<String, Object> map);
	
	/**
	 * 分页查询(主详)
	 * @param pageNo	
	 * @param pageSize	显示数量
	 * @return
	 */
	public List<SaleOutStorage> queryByPage(@Param("currPage") Integer currPage,@Param("pageSize") Integer pageSize);

	/**
	 * 查询主详
	 * @return
	 */
	public List<SaleOutStorage> findAll();
	
}
